Xbasic

LOOKUPN Function

Syntax

Value as N = LOOKUPN(C matchtype,A keyvalue,C result_expression,C tablename,C tagname)

Arguments

matchtype

A 1-character string that specifies which lookup table record should supply the value if more than one record matches the Key_Value. "F" = First "L" = Last "C" = Closest match Closest match uses the first occurrence of the closest inexact match if an exact match does not exist, otherwise it uses the first occurrence of an exact match.

keyvalue

The value of a key to search for. The type of Key_Value must be the same as the type of the keys in the index specified by Index_Name. Any type

result_expression

The name of a field in the Lookup_Table or a valid expression which may contain one or more fields.

tablename

The fully qualified name of a table. If you omit the drive and path, Alpha Anywhere searches the directory of the current database.

tagname

The name of an index in the index lookup table that may contain the Key_Value.

Description

Returns the value of a numeric expression in an external table.

Discussion

LOOKUPN() searches an external lookup table ( Lookup_Table ) for an indexed record matching the Key_Value, and returns the numeric value in Lookup_Expression from the matching record. Alpha Anywhere performs an indexed search of the Lookup_Table using the Index_Name index. Note : If a record with a matching Key_Value is not found, Alpha Anywhere returns 0.

Assume that the Invoice and Customer tables contain the following records and that the index, CUSTOMER_ID, exists on the CUST_ID field in Customer:

If the following expression defines a calculated field or global variable for the Invoice table, Alpha Anywhere returns the first value in the customer record that matches the current invoice record:

? lookupn("F", CUST_ID, "BALANCE", "c:\databases\CUSTOMER.DBF", "CUSTOMER_ID")
= 22500 'if current invoice record is I008 (making CUST_ID = C005)

Note : You can use TABLE.FILENAME_GET()to get the fully qualified name of a table.

See Also